home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 09 - 1993 / 09.08 Aug 93 / Scripting Additions / SAPlayMovie.r < prev    next >
Encoding:
Text File  |  1994-11-06  |  5.6 KB  |  208 lines  |  [TEXT/MPS ]

  1. /*
  2.       SAPlayMovie.r written by Donald O. Olson
  3.      A simple QuickTime Scripting Addition written
  4.     to illustrate writing Scripting Additions.
  5.  
  6.      Copyright ®1993 Donald O. Olson
  7.     All rights reserved.
  8. */
  9.  
  10.  
  11. #include "Types.r"
  12. #include "SysTypes.r"
  13. #include "AEUserTermTypes.r"
  14.  
  15. #define typeMyRectangle 'RECT'
  16.  
  17. resource 'vers' (1) {
  18.     0x1,
  19.     0x0,
  20.     final,
  21.     0x0,
  22.     verUS,
  23.     "1.0",
  24.     "1.0, Copyright ® 1993 Donald Olson"
  25.     ". All rights reserved."
  26. };
  27.  
  28. resource 'vers' (2) {
  29.     0x1,
  30.     0x0,
  31.     final,
  32.     0x0,
  33.     verUS,
  34.     "1.0",
  35.     "(by Donald Olson)"
  36. };
  37.  
  38. /* This string gets displayed if the user double clicks on us. */
  39.  
  40. resource 'STR ' (-16397) {
  41.     "This document can not be opened or printed."
  42.     " It extends the functionality of AppleScript™"
  43.     "and should be placed in the Scripting Additions"
  44.     "folder found in the Extensions folder of your"
  45.     " System Folder."
  46. };
  47.  
  48. resource 'aete' (0, "play movie") {
  49.     /*     
  50.         The major and minor version fields refer to the
  51.         'aete' definition. 
  52.     */
  53.     0x1,        /* major version in BCD    */
  54.     0x0,        /* minor version in BCD    */
  55.     english,    /* language code */
  56.     roman,        /* script code */
  57.     {    /* array Suites: 1 elements */
  58.         /* [1] */
  59.         "The Olson OSAX Suite.",     /* suite name */
  60.         /* Suite Description */
  61.         "A collection of fine Scripting Additions"
  62.         " for work and play.",    /* suite description */
  63.         'OLIE',                    /* suite ID */
  64.         1,                        /* suite level */
  65.         1,                        /* suite version */
  66.         {    /* array Events: 1 elements */
  67.             /* [1] */
  68.             "play movie",        /* event name */
  69.             /* event description */
  70.             "Play a QuickTime movie in a modal dialog.",    
  71.             'OLIE',                /* Our Class */
  72.             'QTIM',                /* Our ID */
  73.             noReply,            /* No Reply */
  74.             /* Reply comment. */
  75.             "No reply is returned by this event.", 
  76.             replyOptional,        /* Reply not required. */
  77.             singleItem,            /* Reply is a single item. */
  78.             notEnumerated,        /* Reply is not enumerated */
  79.             reserved, reserved, reserved, reserved, reserved,
  80.             reserved, reserved, reserved, reserved, reserved,
  81.             reserved, reserved, reserved,
  82.             'alis',                /* Direct param is alias. */
  83.             /* Comment for direct parameter. */
  84.             "Pass in path to the QuickTime movie to play.",
  85.             directParamRequired,
  86.             singleItem,
  87.             notEnumerated,
  88.             doesntChangeState,
  89.             reserved, reserved, reserved, reserved,
  90.             reserved, reserved, reserved, reserved,
  91.             reserved, reserved, reserved, reserved,
  92.             {    /* array OtherParams: 2 elements */
  93.                 /* [1] */
  94.                 "at",            /* Optional parameter */
  95.                 'LOCA',            /* It's keyword. */
  96.                 'list',            /* It's type. */
  97.                 /* Comment for optional parameter. */
  98.                 "Point to use to position movie or rectangle"
  99.                 " to play move in. Must be in order 'left,"
  100.                 " top, right, bottom.",
  101.                 optional,        /* Optional parameter */
  102.                 listOfItems,    /* Must be a list. */
  103.                 notEnumerated,    /* is not enumerated */
  104.                 reserved, reserved, reserved, reserved,
  105.                 reserved, reserved, reserved, reserved,
  106.                 reserved, reserved, reserved, reserved,
  107.                 reserved,
  108.                 /* [2] */
  109.                 /*
  110.                     We define our optional parameter
  111.                     twice so that we can allow two
  112.                     different data types.
  113.                 */
  114.                 "at",                /* Optional parameter */
  115.                 'LOCA',                /* It's keyword. */
  116.                 typeMyRectangle,     /* It's type. */
  117.                 /* Comment for optional parameter. */
  118.                 "List of containing the top left corner"
  119.                 " or the entire rectange to display"
  120.                 " the QuickTime movie in.",
  121.                 optional,            /* Optional parameter */
  122.                 listOfItems,        /* Must be a list. */
  123.                 notEnumerated,        /* is not enumerated */
  124.                 reserved, reserved, reserved, reserved,
  125.                 reserved, reserved, reserved, reserved,
  126.                 reserved, reserved, reserved, reserved,
  127.                 reserved
  128.             }
  129.         },
  130.         {    /* array Classes: 1 elements */
  131.             /* [1] */
  132.             /*
  133.                 This is how we define our custom
  134.                 record. We define a class 'rectangle'
  135.                 with the custom keyword typeMyRectangle.
  136.                 We then define properties of this class
  137.                 for each of our records labels.
  138.             */
  139.             "rectangle",            /* Name of our class. */
  140.             typeMyRectangle,        /* Type of our class. */
  141.             /* Comment for optional parameter. */
  142.             "This is a custom class definition used to "
  143.             "define the record we use to position our "
  144.             "movie's window.",
  145.             {/* array Properties: 4 elements */
  146.             /* [1] */
  147.                 "qttop",            /* Name of property. */
  148.                 'TOP ',                /* Keyword */
  149.                 typeMyRectangle,    /* It's type. */
  150.                 "Top of rectangle.",/* Comment field. */
  151.                 reserved,
  152.                 singleItem,
  153.                 notEnumerated,
  154.                 readOnly, 
  155.                 reserved, reserved, reserved, reserved, 
  156.                 reserved, reserved, reserved, reserved, 
  157.                 reserved, reserved, reserved, reserved,
  158.                 /* [2] */
  159.                 "qtright",            /* Name of property. */
  160.                 'RGHT',                /* Keyword */
  161.                 typeMyRectangle,    /* It's type. */
  162.                 /* Comment field. */
  163.                 "Right side of rectangle.",    
  164.                 reserved,
  165.                 singleItem,
  166.                 notEnumerated,
  167.                 readOnly, 
  168.                 reserved, reserved, reserved, reserved, 
  169.                 reserved, reserved, reserved, reserved, 
  170.                 reserved, reserved, reserved, reserved,
  171.                 /* [3] */
  172.                 "qtleft",            /* Name of property. */
  173.                 'LEFT',                /* Keyword */
  174.                 typeMyRectangle,    /* It's type. */
  175.                 /* Comment field. */
  176.                 "Left side of rectangle.",
  177.                 reserved,
  178.                 singleItem,
  179.                 notEnumerated,
  180.                 readOnly, 
  181.                 reserved, reserved, reserved, reserved, 
  182.                 reserved, reserved, reserved, reserved, 
  183.                 reserved, reserved, reserved, reserved,
  184.                 /* [4] */
  185.                 "qtbottom",            /* Name of property. */
  186.                 'BOTM',                /* Keyword */
  187.                 typeMyRectangle,    /* It's type. */
  188.                 /* Comment field. */
  189.                 "Bottom of rectangle.", 
  190.                 reserved,
  191.                 singleItem,
  192.                 notEnumerated,
  193.                 readOnly, 
  194.                 reserved, reserved, reserved, reserved, 
  195.                 reserved, reserved, reserved, reserved, 
  196.                 reserved, reserved, reserved, reserved
  197.             },
  198.             {    /* array Elements: 0 elements */
  199.             }
  200.         },
  201.         {    /* array ComparisonOps: 0 elements */
  202.         },
  203.         {    /* array Enumerations: 0 elements */
  204.         }
  205.     }
  206. };
  207.  
  208.